#ifndef WIDGET_H
#define WIDGET_H

#include <QCoreApplication>
#include <QWidget>
#include <QDebug>
#include <QUdpSocket>
#include <QTimer>  // 添加定时器
#include <QMovie>





#include "fsmp_board/fsmpLed.h"
#include "fsmp_board/fsmpTempHum.h"
#include "fsmp_board/fsmpBeeper.h"
#include "fsmp_board/fsmpFan.h"  // 添加风扇控制
#include "fsmp_board/fsmpVibrator.h"

QT_BEGIN_NAMESPACE
namespace Ui { class Widget; }
QT_END_NAMESPACE

class Widget : public QWidget
{
    Q_OBJECT

public:
    Widget(QWidget *parent = nullptr);
    ~Widget();

private slots:
    void on_pushButton_clicked();  // 开始按钮
    void on_pushButton_2_clicked(); // 原按钮2
    void on_pushButton_3_clicked(); // 原按钮3

    // 添加的新槽函数
    void readPendingDatagrams();   // 处理UDP数据接收
    void updateTemperature();      // 定时读取温度
    void stopLedAndBee();          // 停止LED和蜂鸣器


private:
    Ui::Widget *ui;

    QUdpSocket *udp;
    QTimer *timer;                 // 温度读取定时器
    QTimer *actionTimer;            // LED和蜂鸣器停止定时器
    // QMovie *movie;

    fsmpVibrator *ptr_vib;
    fsmpBeeper *ptr_bee;
    fsmpLeds *ptr_led;
    fsmpTempHum *ptr_sh20;
    fsmpFan *ptr_fan;               // 风扇控制对象

    bool isRunning = false;
};
#endif // WIDGET_H
